Packet telephony involves the use of a packet network, such as the Internet or an "intranet" (modeled in functionality based upon the Internet and used by a companies locally or internally) for telecommunicating voice, pictures, moving images and multimedia (e.g., voice and pictures) content. Instead of a pair of telephones connected by switched telephone lines, however, packet telephony typically involves the use of a "packet phone" or "Internet phone" at one or both ends of the telephony link, with the information transferred over a packet network using packet switching techniques. A "packet phone" or "Internet phone" typically includes a personal computer (PC) running application software for implementing packetized transmission of audio signals over a packet network (such as the Internet); in addition, the PC-based configuration of a packet or Internet phone typically includes additional hardware devices, such as a microphone, speakers and a sound card, which are plugged or incorporated into the PC.
The amount of time it takes for a communication to travel through a communications network is referred to as latency. The amount of latency can impact the quality of the communication; the higher the latency, the lesser the quality of the communication. Latency of about 150 milliseconds (ms) or more produces a noticeable effect upon conversations that, for some people, can render a conversation next to impossible. The Plain Old Telephone Service (POTS) network controls latency to an acceptable degree, which is one of the ways in which the POTS network is deemed a reliable and quality communications service.
However, latency is a significant problem in packet telephony. Latency problems may be caused by factors such as traffic congestion or bottlenecks in the packet network, which can delay delivery of packets to the destination.
Another problem is caused by packet network "jitter." "Jitter" is the variance in latency from packet-to-packet or between groups of packets, such that packets (or packet groups) are not received at the destination at regular intervals. In packet telephony, packets are clocked into the packet network from the sending station at a regular rate; thus, network characteristics are responsible for deviation from regularity in the rate of receiving data packets at the receiving station.
Packet telephony programs use an input buffer at the receiving station to compensate for network jitter. Anti-jitter buffering is used to allow data to be clocked out of the buffer and into the telephony section at a regular rate. Each time voice input from the network starts at the receiving station, the packet telephony program directs the incoming data into the telephony input buffer, and does not start clocking the data out of the buffer (clocking audio data out of a memory is often called "playing" the data) and along to the speaker output until the telephony input buffer is full. For example, such input buffers may run several packets deep with an equivalent length (in terms of time) ranging from 1/2 to a full second of audio data. Thus, each time a speaker starts talking, perceptible latency is introduced as a result of anti-jitter buffering, making interactive conversations difficult or unnatural.
What is desired is a way of reducing the latency in packet telephony communications caused by buffering used to reduce or eliminate network jitter.